# 描述统计学（descriptive statistics）是一门统计学领域的学科，
# 主要研究如何取得反映客观现象的数据，并以图表形式对所搜集的数据进行处理和显示，
# 最终对数据的规律、特征做出综合性的描述分析。

import pandas as pd
import numpy as np

# count()	统计某个非空值的数量。
# sum()	求和
# mean()	求均值
# median()	求中位数
# mode()	求众数
# std()	求标准差
# min()	求最小值
# max()	求最大值
# abs()	求绝对值
# prod()	求所有数值的乘积。
# cumsum()	计算累计和，axis=0，按照行累加；axis=1，按照列累加。
# cumprod()	计算累计积，axis=0，按照行累积；axis=1，按照列累积。
# corr()	计算数列或变量之间的相关系数，取值-1到1，值越大表示关联性越强

# 对行操作，默认使用 axis=0 或者使用 "index"；
# 对列操作，默认使用 axis=1 或者使用 "columns"。

# 创建字典型series结构
d = {'Name': pd.Series(['小明', '小亮', '小红', '小华', '老赵', '小曹', '小陈',
                        '老李', '老王', '小冯', '小何', '老张']),
     'Age': pd.Series([25, 26, 25, 23, 30, 29, 23, 34, 40, 30, 51, 46]),
     'Rating': pd.Series([4.23, 3.24, 3.98, 2.56, 3.20, 4.6, 3.8, 3.78, 2.98, 4.80, 4.10, 3.65])
     }
df = pd.DataFrame(d)
print(df)
#    Name  Age  Rating
# 0    小明   25    4.23
# 1    小亮   26    3.24
# 2    小红   25    3.98
# 3    小华   23    2.56
# 4    老赵   30    3.20
# 5    小曹   29    4.60
# 6    小陈   23    3.80
# 7    老李   34    3.78
# 8    老王   40    2.98
# 9    小冯   30    4.80
# 10   小何   51    4.10
# 11   老张   46    3.65

print(df.sum())  # 默认axis=0或者使用sum("index")
# Name      小明小亮小红小华老赵小曹小陈老李老王小冯小何老张
# Age                            382
# Rating                       44.92
# dtype: object
# 也可使用sum("columns")或sum(1)
# print(df.sum(axis=1))
print(df.mean())
# Age       31.833333
# Rating     3.743333
# dtype: float64
print(df.std())
print(df.describe(include="all"))  # 求出数据的所有描述信息
#        Name        Age     Rating
# count    12  12.000000  12.000000
# unique   12        NaN        NaN
# top      小红       NaN       NaN
# freq      1        NaN        NaN
# mean    NaN  34.916667   3.743333
# std     NaN  13.976983   0.661628
# min     NaN  19.000000   2.560000
# 25%     NaN  24.500000   3.230000
# 50%     NaN  28.000000   3.790000
# 75%     NaN  45.750000   4.132500
# max     NaN  59.000000   4.800000
